The present invention relates to communication protocols, and more particularly to a process for learning the basic finite automaton of a protocol implementation.
Communication partners are known to exchange data with one another in accordance with a communication protocol. An arrangement of devices for performing a data exchange in this manner is illustrated in FIG. 1. Communication partners A and B communicate with one another via a communication medium 10, such as an electrical line, by exchanging messages or protocol data units (PDUs) with one another in accordance with the communication protocol. The communication protocol constitutes a complete set of rules for the required behaviour of each of communication partners A and B. The communication partners A and B are entities in the sense of the OSI reference model which is described in detail in “ISO. Information Processing Systems—Open Systems Interconnection—Basis Reference Model” International Standard ISO/IS 7498, ISO, 1984. The appropriate and common concept for defining communication protocols is the extended finite state machine (EFSM) as described in the book by D. Hogrefe (Estelle, LOTOS und SDL: “Standard-Spezifiktionssprachen für verteilte Systeme”, Springer Compass. Springer Verlag-Berlin, Heidelberg, N.Y. etc. 1989). It is a generalisation of the finite state machine (FSM) explained in the “Proceedings of the 1994 International Symposium on Software Testing and Analysis” (ISSTA), ACM SIGSOFT Software Engineering Notes, special issue, pages 109 to 124, August 1994.
What is required for digital communication to function smoothly is that all communication partners involved behave in conformity with common rules, the so-called protocols. Owing to the openness, diversity, complexity and bandwidth of modern communication systems, the development, standardisation and description of protocols have constantly been gaining in importance. However, error sources are proliferating at the same rate, resulting in more or less major interferences in communication systems. Among the typical error sources encountered again and again in modern broadband communication systems are:                malfunctions or error functions due to the use of protocols or protocol variants which ought not to be used in the given context of a system installation;        malfunctions or error functions due to configurable protocol parameters which were set to values incompatible with the given context of a system installation;        malfunctions or error functions due to overload situations forcing individual components of the communication system to discard data.        
Experience has shown that all the efforts towards ensuring the smooth functioning of communication-relevant hardware and software before their market introduction by means of suitable development processes and active test procedures is not successful in each and every case. This creates the need for troubleshooting aids which are used in a telecommunications system on the fly and are capable of detecting malfunctions or error functions, of attributing them to a system component and of providing hints on how to eliminate them.
What existing tools for on-the-fly measurements, usually referred to as protocol analyzers, have in common is that they are not capable of validating the entire communication behaviour with respect to the desired behaviour, instead requiring a considerable amount of manual testing. Consequently, there is a considerable potential here for automating rather unpleasant manual search work.